﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace _18_定时器_回调函数
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //1.注册回调函数(委托)
            TimerCallback timerCallback = new TimerCallback(Print1);
            //2.创建定时器: 在固定的时间间隔内执行回调函数
            Timer timer1 = new Timer
            (
                timerCallback,//回调函数，指定定时器达到时间间隔后要调用的方法
                "全民制作人，大家好！我是练习时长两年半的偶像练习生",//传递给回调函数的参数(可以是NULL)
                0,//第一次执行的时候回调函数之间的延时时间(毫秒)
                1000//每次调用回调函数的时间间隔(毫秒)
            );

            Thread.Sleep(3000);
            timer1.Dispose();//释放定时器所占用的资源

            Console.Read();

        }

        public static void Print1(object obj)
        {
            Console.WriteLine("{0} {1}",DateTime.Now.ToString(),obj.ToString());
        }

    }
}
